home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 129 (1990-02-15)(Ossowski, Stefan)(DE)(PD).zip
/
Taifun 129 (1990-02-15)(Ossowski, Stefan)(DE)(PD).adf
/
Pinch_It
/
Anleitung
< prev
next >
Wrap
Text File
|
1989-12-26
|
17KB
|
315 lines
zu PINCH IT:
------------
Das Programm:
-------------
PINCH IT vereint zwei Funktionen in einem Programm. Als erstes kann man
jeden Intution-Screen als IFF-Bild auf Diskette speichern und zweitens
kann man den Speicher (CHIP-Ram) des Amigas nach Bildern durchsuchen
und auch diese abspeichern. Die gespeicherten Bilder können dann mit
IFF-kompatiblen Malprogrammen, wie z.B. DPaint oder PhotonPaint, gela-
den, bearbeitet und auch ausgedruckt werden.
Das Programm ist in C geschrieben und mit Aztec-C Version 3.6a compi-
liert. Der C-Quellcode der Version 1.2 umfaßt etwa 3000 Zeilen, das
sind ca. 90 KByte Text oder fast 50 Din-A4-Seiten.
PINCH IT kann sowohl vom CLI, als auch von der Workbench aus gestartet
werden. Das Programm läuft in einem eigenen Task, so daß parallel zu
PINCH IT auch andere Programme aufgerufen werden können. Da PINCH IT
beim Start vom CLI den CLI-Task sofort wieder freigibt, kann man auch
dann noch im CLI arbeiten, wenn PINCH IT aktiv ist.
Einige Erläuterungen zum Aufbau von Screens:
--------------------------------------------
Hier zunächst einige Erläuterungen zum Aufbau von Screens, damit die
die Funktionsweise und die Möglichkeiten von PINCH IT leichter ver-
deutlicht werden können:
Wenn ein Screen durch das Betriebssystem des Amigas geöffnet wird, wird
als erstes ein Speicherbereich reserviert, der wichtige Angaben zum
Aussehen (z.B. Größe, Breite, Viewmodus, usw.) des Screens enthält.
Diese Speicherbereich, ist (gemäß den Include-Files von Aztec-C) fol-
gendermaßen aufgebaut:
struct Screen
{
struct Screen *NextScreen; /* Zeiger auf den nächsten Screen */
struct Window *FirstWindow; /* Zeiger auf das erste Fenster */
SHORT LeftEdge, TopEdge; /* Position des Screens */
SHORT Width, Height; /* Breite und Höhe des Screens */
SHORT MouseY, MouseX; /* aktuelle Position des Mauszeigers */
USHORT Flags; /* Bestimmt die Art des Screens */
UBYTE *Title; /* Zeiger auf den Titeltext */
UBYTE *DefaultTitle; /* Zeiger auf den Standard-Titeltext */
BYTE BarHeight,
BarVBorder, BarHBorder,
MenuVBorder, MenuHBorder; /* Bestimmt Aussehen der Titelleiste */
BYTE WBorTop, WBorLeft,
WBorRight, WBorBottom; /* Bestimmt Aussehen der Fensterrahmen */
struct TextAttr *Font; /* Zeiger auf den Zeichenasatz */
struct ViewPort ViewPort; /* Die ViewPort-Struktur (siehe unten) */
struct RastPort RastPort; /* Die RastPort-Struktur */
struct BitMap BitMap; /* Die BitMap-Struktur (siehe unten) */
struct Layer_Info LayerInfo; /* Die LayerInfo-Struktur */
struct Gadget *FirstGadget; /* Zeiger auf das erste Gadget */
UBYTE DetailPen, BlockPen; /* Vorder- und Hintergrundfarbe */
USHORT SaveColor0; /* Für die Beep-Funtkion */
struct Layer *BarLayer; /* Zeiger auf Layer */
UBYTE *ExtData; /* reserviert */
UBYTE *UserData; /* reserviert */
};
In dieser Screen_Struktur findet man z.B. die Breite und die Höhe des
Screens, sowie einige weitere interessante Strukturen, wie den ViewPort
und die BitMap:
struct ViewPort
{
struct ViewPort *Next; /* Zeiger auf nächsten ViewPort */
struct ColorMap *ColorMap; /* Zeiger auf ColorMap (siehe unten) */
struct CopList *DspIns; /* Zeiger auf einige Copper-Listen */
struct CopList *SprIns;
struct CopList *ClrIns;
struct UCopList *UCopIns;
SHORT DWidth,DHeight; /* Breite und Höhe des Displays */
SHORT DxOffset,DyOffset; /* Position der Bitplanes */
UWORD Modes; /* Viewmodus (siehe unten) */
UBYTE SpritePriorities; /* Regelt die Priorität der Sprites */
UBYTE reserved; /* reserviert */
struct RasInfo *RasInfo; /* Zeiger auf RasInfo-Struktur */
};
Der ViewPort gibt nun z.B. Auskunft über den Viewmodus des Screens.
Der Viewmode bestimmt die Art der Darstellung des Screens und entschei-
det z.B. über folgende Modi: HAM, EXTRA_HALFBRITE, HIRES und LACE.
Im Hauptmenü von PINCH IT kann der Viewmodus durch Anklicken der ent-
sprechenden Felder geändert werden. Dabei ist zu beachten, daß der
HIRES-Modus mit maximal 4 Bitplanes und nicht zusamenn mit HAM oder
EXTRA_HALFBRITE benutzt werden kann.
Außerdem findet man im ViewPort einen Zeiger auf die ColorMap-Struktur,
die folgendermaßen aufgebaut ist:
struct ColorMap
{
UBYTE Flags; /* Flags */
UBYTE Type; /* Typ */
UWORD Count; /* Anzahl der Farben */
APTR ColorTable; /* Zeiger auf Farbtabelle (s. unten) */
};
Bei der ColorMap ist der Zeiger auf die Farbtabelle interessant, da die
Farbtabelle, die normalerweise 64 Bytes (2 Bytes für jedes Farbregister)
umfaßt, die Rot-, Grün- und Blau-Anteile eines jeden Farbregisters ent-
hält.
In PINCH IT ist eine Funktion enthalten, die über das Farbmenü zu er-
reichen ist und mit der man diesen Zeiger auf die Farbtabelle verändern
kann. Man kann den gesamten Speicher (auch Fast-Ram) nach einer Farbta-
belle durchsuchen.
Eine weitere, für die Arbeit mit PINCH IT interessante Struktur, die in
der Screen-Struktur enthalten ist, ist die BitMap-Struktur:
struct BitMap
{
UWORD BytesPerRow; /* Anzahl der Bytes pro Zeile */
UWORD Rows; /* Anzahl der Zeilen (= Höhe) */
UBYTE Flags; /* zur Zeit nicht benutzt */
UBYTE Depth; /* Anzahl der Bitplanes */
UWORD pad; /* zur Zeit nicht benutzt */
PLANEPTR Planes[8]; /* Zeiger auf die Bitplanes */
};
In der BitMap-Struktur findet man die Tiefe des Screens, also die An-
zahl der Bitplanes, sowie die Zeiger auf die Speicherstellen, an denen
die Bitplanes beginnen.
In der BitMap sind zwar 8 Zeiger auf Bitplanes vorgesehen, jedoch kann
man zur Zeit mit dem Amiga nur 6 Bitplanes nutzen. Die zwei weiteren
Zeiger sind reserviert für spätere, geänderte Versionen der Amiga-
Grafikchips.
Mit PINCH IT kann man den Speicher nach Bitplanes oder Teilen davon
durchsuchen, indem man die aktuellen Zeiger auf die einzelnen Bit-
planes verändert.
Die Bitplanes enthalten die Grafik-Informationen, die bestimmen, wie
jeder einzelne Punkt des Screens auszusehen hat. Dabei entspricht in
jeder Bitplane genau ein Bit einem Punkt des Screens. Wenn weder der
HAM- noch der EXTRA_HALFBRITE-Modus eingeschaltet sind, ergibt die
binäre Addition aller Bits der Bitplanes, die zu einem Punkt gehören,
einen Wert, der die Farbnummer des Punktes bestimmt. Der HAM-Modus
ist ein Sonderfall, bei dem zur Bestimmung der Farbe eines Punktes
auch noch die Rot-, Grün- und Blauwerte des Punktes, der sich links
daneben befindet, herangezogen wird. Der EXTRA_HALFBRITE-Modus er-
möglicht es, 64 statt der sonst üblichen Farben darzustellen. Dabei
werden die unteren 32 Farbregister ganz normal dargestellt, wogegen
die Farben mit den Werten 32 bis 63 mit der halben Helligkeit der un-
teren 32 farbregister dargestellt werden. Wird der HAM- oder der
EXTRA_HALFBRITE-Modus benutzt, so werden für die korrekte Darstellung
6 Bitplanes benötigt. Außerdem kann hier der HIRES-Modus nicht gleich-
zeitig benutzt werden.
Die Bedienung des Programms:
----------------------------
Das Programm kann fast ausschließlich mit der Maus bedient werden.
Nach dem Start des Programms sieht man den aktuellen Screen und darun-
ter ein Kontrollfeld, mit dessen Hilfe das Programm gesteuert wird.
Auf der Linken Seite des Kontrollfeldes befinden sich die Auswahlfelder
der sechs möglichen Bitplanes und deren Startadressen.
Durch Anklicken der Felder mit der Aufschrift 0 bis 5 kann man die Bit-
plane auswählen, die man verschieben will. Die Startadressen kann man
außer durch Verschieben der Bitplanes auch direkt ändern, indem man die
Anzeige anklickt, die Zahl mit der Backspace- oder der Delete-Taste
löscht und dann den neuen Wert einträgt. Die Eingabe schließt man mit
der Return-Taste ab.
Hinter der Anzeige der Adressen befinden sich Felder mit der Aufschrift
'On' oder 'Off'. Durch Anklicken dieser Felder kann man einzelne Bit-
planes an- oder ausschalten.
Oberhalb der eben beschriebenen Auswahlfelder wird die Anzahl der Bit-
planes des Screen angezeigt. Diese Zahl kann auf die gleiche Art geän-
dert werden, wie die Adressen der Bitplanes.
Durch Anklicken der mit einem Pfeil beschrifteten Felder können einzelne
Bitplanes verschoben werden, wodurch man den gesamten Chip-Speicher nach
Bildern durchsuchen kann. Selbst nach einem Reset befindet sich ein Bild
manchmal noch im Speicher und kann so rekonstruiert werden.
Die Felder mit dem Doppelpfeil dienen dazu, den Speicher schnell zu
durchsuchen, indem die Bitplanes immer um die halbe Bildschirmhöhe ver-
schoben werden.
Mit den vier Feldern links daneben in der oberen Hälfte des Kontroll-
feldes kann man den Viewmodus (wie HAM, HIRES usw.) des Screens ein-
stellen.
Darunter werden die Abmessungen des Screens angezeigt. Die Höhe und die
Breite können auf die gleiche Art verändert werden, wie die Adressen der
Bitplanes. (siehe oben)
Die vier Auswahlfelder am rechten Rand des Kontrollfeldes dienen dazu,
weitere Funktionen aufzurufen. Nach Anklicken des obersten Feldes ge-
langt man in dsa Farbmenü, in dem man die Farben des Screens verämdern
kann.
Durch Anklicken des zweiten Auswahlfeldes kann man nach allen zur Zeit
dem System angemeldeten Screens suchen, Die Anzahl der Bitplanes und
deren Adressen, sowie der Viewmodus, die Abmessungen und die Farben
werden automatisch an diesen Screen angepaßt und auch angezeigt.
Klickt man dieses Feld erneut an, wird der nächste Screen gesucht.
Wenn ein Bildschirm höher als 200 Punkte (oder 400 Punkte im Interlace-
Modus) ist, so wird der untere Teil vom Kontrollfeld verdeckt. Durch
Drücken der rechten Maustaste kann man sich dann den kompletten Screen
ansehen.
Will man das Bild, das sich zur Zeit auf dem Bildschirm befindet, ab-
speichern, so kann man das durch Anklicken des dritten Feldes ereichen.
Es erscheint dann ein Auswahlfeld, in dem man den Namen eingeben kann,
unter dem das Bild abgespeichert werden kann. Das Bild wird nun im IFF-
ILBM-Format abgespeichert und kann dann mit jedem Zeichenprogramm wei-
terbearbeitet werden.
Durch Anklicken des untersten Auswahlfeldes kann man das Programm nach
Bestätigung einer Sicherheitsabfrage beenden.
Das Programm kann ebenfalls durch Anklicken des Schließ-Symbols in der
linken oberen Ecke des Auswahlmenüs beendet werden.
Am rechten Rand des Hauptmenüs befindet sich ein Feld mit der Aufschrift
'Warten'. Klickt man dieses Feld an, so werden alle Screens und Fenster
von PINCH IT geschlossen und die Workbench, bzw. das CLI-Fenster in den
Fordergrund geschaltet. Wärend man nun mit einem anderen Programm arbei-
ten kann (um z.B. eine Grafik auf den Bildschirm zu bringen, die mit
PINCH IT abgespeichert werden soll), wartet PINCH IT darauf, daß eine
Funktionstaste in Verbindung mit der rechten Amiga-Taste und einer Alt-
Taste gedrückt wird, um wieder aktiv zu werden.
Das Fenster, das auf dem Workbench-Bildschirm geöffnet wird und das eine
Übersicht über die verschiedenen Tastenkombinationen ausgibt, kann durch
Anklicken des Schließsymbols in der oberen linken Ecke geschlossen wer-
den und bei Bedarf mit der Tastenkombination Help-, Alt- und rechte
Amigataste wieder auf den Bildschirm gebracht werden.
Folgende Funktionen können durch die Kombination rechte Amiga-Taste,
Alt-Taste und Funktionstaste aufgerufen werden:
F1: PINCH IT aktivieren und aktuellen Screen übernehmen.
F2: PINCH IT aktivieren und alle Einstellungen übernehmen, die vor dem
Anklicken des 'Warten'-Feldes aktiv waren.
F3: Den letzten Screen nach vorne schalten. Durch diese Funktion kann
man, wenn mehrere Screens geöffnet sind, auswählen, welcher Screen
sichtbar sein soll.
F4: Die Workbench oder den Screen, auf dem sich das CLI-Fenster befindet
nach vorne schalten.
F5: Den aktuellen Screen abspeichern. Hier kann, wie in der Speicher-
Funktion des Hauptmenüs, ein Dateiname ausgewählt werden, unter dem
der Screen als IFF-ILBM-Bild abgespeichert werden soll.
F10: PINCH IT beenden. Durch diese Funktion kann PINCH IT beendet wer-
den, ohne daß man das Programm vorher aktivieren muß.
Eine Übersicht der Funktionen kann man durch die Tastenkombination
Help-, Alt- und rechte Amigataste anzeigen lassen.
Wählt man im Hauptmenü das feld 'Farben ändern' an, so gelangt man in
das Farbmenü. Hier sieht man auf der linken Seite die Farben, die den
32 Farbregistern entsprechen. Um eine der 32 Farben zu ändern, klickt
man diese mit der Maus an. Die Nummer des gewählten Farbregisters wird
links neben den Farbfeldern angezeigt. Darunter findet man drei Felder,
mit denen man eine Farbe in ein anderes Register kopieren, zwei Farben
vertauschen und einen Farbverlauf herstellen kann. Dazu klickt man zu-
erst die erste Farbe an, dann das Auswahlfeld (Kopieren, Tauschen oder
Farbverlauf) und dann die zweite Farbe. Durch Anklicken des 'Undo'-Fel-
des kann eine Änderung rückgängig gemacht werden. Mit den vier Schiebe-
reglern in der Mitte des Bildschirms kann man die Rot-, Grün- und Blau-
werte, sowie die Helligkeit einer Farbe ändern. Wenn man das unterste
Felde auf der rechten Seite anklickt, gelangt man wieder zum Hauptmenü.
Durch Anklicken des mittleren Feldes kann man alle im Farbmenü gemach-
ten Änderungen wieder rückgängig machen und durch Anklicken des obers-
ten Feldes gelangt man in ein Menü, in dem man den Speicher eine Farb-
tabelle suchen kann. Die Farbtabelle kann sowohl im Chip-, als auch im
Fast-Memory liegen und enthält die Rot-, Grün- und Blau-Anteile der 32
Farbregister.
Auf der Linken Seite wird die Adresse angezeigt, bei der die Farbtabelle
beginnt. Diese Adresse kann auf zwei Arten geändert werden. Entweder man
klickt die Adresse an, löscht die Ziffern, die geändert werden sollen
mit der Delete- oder der Backspace-Taste und überschreibt sie mit dem
neuen Wert. Die Eingabe muß mit der Return- oder der Enter-Taste bestä-
tigt werden. Außerdem kann man die Farbtabelle auch durch Anklicken der
mit den Pfeilen versehenen Felder verschieben. Dabei wird die Start-
adresse durch Anklicken der doppelten Pfeile um die volle Länge der
Farbtabelle (64 Bytes) verschoben, wogegen die Adresse durch die ein-
fachen Pfeile nur um 1 Wort (2 Bytes) verschoben wird.
Die Änderungen der Farbwerte kann man sofort am Bildschirm verfolgen.
Neben der manuallen Suche nach einer Farbtabelle kann man auch den
Computer Speicherbereiche suchen lassen, in denen sich eine Farbtabelle
befinden könnte. Dabei wird darauf geachtet, daß nicht alle Farbregister
den gleichen Wert haben, da man sonst nichts sehen würde. Außerdem dür-
fen die 32 Werte der Farben maximal den Wert 4095 (FFF Hexadezimal) an-
nehmen, da der Wert einer Farbe aus 256 mal dem Rotanteil plus 16 mal
dem Grünanteil plus dem Blauanteil besteht. Und da die RGB-Werte jeweils
maximal den Wert 15 haben können, kann der Gesamtwert der Farbe maximal
4095 erreichen.
Bei der automatischen Suche nach einer Farbtabelle kann man entweder bei
Adresse 0 oder bei der aktuellen Adresse beginnen.
Möchte man die gemachten Änderungen rückgängig machen, so klickt man das
Feld mit der Aufschrift 'Alte Farbtabelle' an.
Wenn man dagegen die Farbtabelle übernehmen möchte, braucht man nur zum
Farbmenü zurückzukehren. Hier kann man dann auch alle 32 Farbregister
überprüfen und gegebenenfalls noch Änderungen vornehmen.
Wenn man aus dem Hauptmenü oder im Wartezustand (durch Alt-, rechte
Amiga-Taste und F5) ein Bild abspeichern möchte, so kann man den Namen
des Bildes und den Namen des Verzeichnisses in einer Datei-Auswahlbox
angeben.
Entweder man gibt den Namen und das Verzeichnis in den Feldern mit den
entsprechenden Beschriftungen direkt ein oder man benutzt die Auswahl-
felder, die man durch Anklicken mit der Maus bedienen kann. Auf der
linken Seite der Datei-Auswahlbox werden die Dateinamen und Verzeich-
nisse angezeigt, die sich im aktuellen Verzeichnis befinden. Die Dateien
und Verzeichnisse können durch Anklicken mit der Maus ausgewählt werden.
Wird ein Verzeichnis, das mit '(dir)' gekennzeichnet ist, angewählt, so
wird dieses als aktuelles Verzeichnis übernommen und all darin enthal-
tenen Dateien und Verzeichnisse angezeigt.
Befinden sich in einem Verzeichnis mehr Dateien und Verzeichnisse, als
angezeigt werden können, dann kann man die restlichen Datei- und Ver-
zeichnisnamen sichtbar machen, indem man die Pfeil-Felder anklickt oder
die Stellung des Schiebereglers, der sich zwischen den Pfeil-Feldern be-
findet, verändert.
In der recten Hälfte der Datei-Auswahlbox befinden sich am oberen Rand
einige Auswahl felder, mit denen man die Wichtigsten Speichermedien
durch Anklicken mit der Maus auswählen kann, ohne eine Eingabe im Ver-
zeichnis-Feld machen zu müssen. Durch Anklicken des Feldes, das sich am
rechten Rand befindet, gelangt man von einem Unterverzeichnis in das
Verzeichnis, in dem sich das aktuelle Verzeichnis befindet.
Hat man das Verzeichnis und den Namen des Bildes ausgewählt, kann man es
durch Anklicken des Feldes mit der Aufschrift 'Speichern' als IFF-ILBM-
Datei speichern oder den Speichervorgang durch Anklicken des Feldes mit
der Aufschrift 'Nicht speichern' abbrechen.